﻿// Decompiled with JetBrains decompiler
// Type: System.Web.Razor.CSharpRazorCodeLanguage
// Assembly: System.Web.Razor, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35
// MVID: 682513D6-F37E-48AC-9909-F3EE103CFF14
// Assembly location: D:\Project\Idea\无人机外网\uav\客户端工程\排查工具\bin\Release\System.Web.Razor.dll

using Microsoft.CSharp;
using System.Web.Razor.Generator;
using System.Web.Razor.Parser;

namespace System.Web.Razor
{
  /// <summary>This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Represents a Razor code language that is based on C# syntax.</summary>
  public class CSharpRazorCodeLanguage : RazorCodeLanguage
  {
    private const string CSharpLanguageName = "csharp";

    /// <summary>This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Gets the name of the C# code language.</summary>
    /// <returns>The name of the C# code language. Value is ‘csharp’.</returns>
    public override string LanguageName => "csharp";

    /// <summary>This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Gets the type of the code provider.</summary>
    /// <returns>The type of the code provider.</returns>
    public override Type CodeDomProviderType => typeof (CSharpCodeProvider);

    /// <summary>This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Creates a new code parser for C# code language.</summary>
    /// <returns>The newly created code parser for C# code language.</returns>
    public override ParserBase CreateCodeParser() => (ParserBase) new CSharpCodeParser();

    /// <summary>This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Creates a new Razor code generator based on C# code language.</summary>
    /// <returns>The newly created Razor code generator based on C# code language.</returns>
    /// <param name="className">The class name for the generated code.</param>
    /// <param name="rootNamespaceName">The name of the root namespace for the generated code.</param>
    /// <param name="sourceFileName">The name of the source code file.</param>
    /// <param name="host">The Razor engine host.</param>
    public override RazorCodeGenerator CreateCodeGenerator(
      string className,
      string rootNamespaceName,
      string sourceFileName,
      RazorEngineHost host)
    {
      return (RazorCodeGenerator) new CSharpRazorCodeGenerator(className, rootNamespaceName, sourceFileName, host);
    }
  }
}
